﻿using System.Threading;
namespace System.Web
{
    public partial class NetHttpApplication
    {
        internal abstract class NetStepManager
        {
            protected NetHttpApplication _application;
            protected bool _requestCompleted;

            internal NetStepManager(NetHttpApplication app) { _application = app; }

            internal abstract void BuildSteps(WaitCallback stepCallback);
            internal void CompleteRequest()
            {
                _requestCompleted = true;
            }

            internal abstract void InitRequest();
            internal abstract void ResumeSteps(Exception error);

            internal bool IsCompleted
            {
                get { return _requestCompleted; }
            }
        }
    }
}
